//package com.rrqs.activity;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import android.app.Activity;
//import android.os.Bundle;
//import android.view.Window;
//import android.widget.Toast;
//
//import com.amap.api.location.AMapLocation;
//import com.amap.api.location.AMapLocationClient;
//import com.amap.api.location.AMapLocationClientOption;
//import com.amap.api.location.AMapLocationClientOption.AMapLocationMode;
//import com.amap.api.location.AMapLocationListener;
//import com.amap.api.navi.AMapNavi;
//import com.amap.api.navi.AMapNaviListener;
//import com.amap.api.navi.AMapNaviView;
//import com.amap.api.navi.AMapNaviViewListener;
//import com.amap.api.navi.enums.PathPlanningStrategy;
//import com.amap.api.navi.model.AMapLaneInfo;
//import com.amap.api.navi.model.AMapNaviCross;
//import com.amap.api.navi.model.AMapNaviInfo;
//import com.amap.api.navi.model.AMapNaviLocation;
//import com.amap.api.navi.model.AMapNaviTrafficFacilityInfo;
//import com.amap.api.navi.model.AimLessModeCongestionInfo;
//import com.amap.api.navi.model.AimLessModeStat;
//import com.amap.api.navi.model.NaviInfo;
//import com.amap.api.navi.model.NaviLatLng;
//import com.autonavi.tbt.TrafficFacilityInfo;
//
//public class BaseMapActivity extends Activity implements AMapNaviListener, AMapNaviViewListener,AMapLocationListener {
//
//    AMapNaviView mAMapNaviView;
//    AMapNavi mAMapNavi;
////    TTSController mTtsManager;
//    NaviLatLng mEndLatlng = new NaviLatLng(32.062646, 112.133331);
//    NaviLatLng mStartLatlng = new NaviLatLng(28.668366, 115.925576);
//    List<NaviLatLng> mStartList = new ArrayList<NaviLatLng>();
//    List<NaviLatLng> mEndList = new ArrayList<NaviLatLng>();
//    List<NaviLatLng> mWayPointList;
//    
// // 声明mLocationOption对象
// 		public AMapLocationClientOption mLocationOption = null;
// 		private AMapLocationClient mlocationClient;
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        requestWindowFeature(Window.FEATURE_NO_TITLE);
//
////        //为了尽最大可能避免内存泄露问题，建议这么写
////        mTtsManager = TTSController.getInstance(getApplicationContext());
////        mTtsManager.init();
////        mTtsManager.startSpeaking();
//
//        //为了尽最大可能避免内存泄露问题，建议这么写
//        mAMapNavi = AMapNavi.getInstance(getApplicationContext());
//        mAMapNavi.setAMapNaviListener(this);
////        mAMapNavi.setAMapNaviListener(mTtsManager);
//        mAMapNavi.setEmulatorNaviSpeed(150);
//        
//        GetLocation01();
//      
//    }
//    private void GetLocation01() {
//		mlocationClient = new AMapLocationClient(this);
//		// 初始化定位参数
//		mLocationOption = new AMapLocationClientOption();
//		// 设置定位监听
//		mlocationClient.setLocationListener(this);
//		// 设置定位模式为高精度模式，Battery_Saving为低功耗模式，Device_Sensors是仅设备模式
//		mLocationOption.setLocationMode(AMapLocationMode.Hight_Accuracy);
//		// 设置定位间隔,单位毫秒,默认为2000ms
//		mLocationOption.setInterval(10000);
//		
//		// 设置定位参数
//		mlocationClient.setLocationOption(mLocationOption);
//		// 此方法为每隔固定时间会发起一次定位请求，为了减少电量消耗或网络流量消耗，
//		// 注意设置合适的定位时间的间隔（最小间隔支持为2000ms），并且在合适时间调用stopLocation()方法来取消定位请求
//		// 在定位结束后，在合适的生命周期调用onDestroy()方法
//		// 在单次定位情况下，定位无论成功与否，都无需调用stopLocation()方法移除请求，定位sdk内部会移除
//		// 启动定位
//		mlocationClient.startLocation();
//	}
//    
//
//	public void onLocationChanged(AMapLocation amapLocation) {
//		if (amapLocation != null) {
//			if (amapLocation.getErrorCode() == 0) {
//				// 定位成功回调信息，设置相关消息
//				// amapLocation.getLocationType();//获取当前定位结果来源，如网络定位结果，详见定位类型表
//				amapLocation.getLatitude();// 获取纬度
//				amapLocation.getLongitude();// 获取经度
//				amapLocation.getAccuracy();// 获取精度信息
//				if (amapLocation.getLatitude()>0 && amapLocation.getLongitude()>0 ) {
//					
//					mStartLatlng.setLatitude(amapLocation.getLatitude());//
//					mStartLatlng.setLongitude(amapLocation.getLongitude());
//					Toast.makeText(BaseMapActivity.this, amapLocation.getLatitude()
//							+ "----"+amapLocation.getLongitude()
//							+ "", 1000).show();;
//					  mStartList.add(mStartLatlng);
//				        mEndList.add(mEndLatlng);
//				        
//					// 算路
//					mAMapNavi.calculateDriveRoute(mStartList, mEndList, null,
//							PathPlanningStrategy.DRIVING_DEFAULT);
//				}
//				
//			} else {
//				Toast.makeText(BaseMapActivity.this, amapLocation.getErrorCode(),
//						1000).show();
//				
//			}
//		}
//	}
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        mAMapNaviView.onResume();
//       
//    }
//
//    @Override
//    protected void onPause() {
//        super.onPause();
//        mAMapNaviView.onPause();
//
////        仅仅是停止你当前在说的这句话，一会到新的路口还是会再说的
////        mTtsManager.stopSpeaking();
////
////        停止导航之后，会触及底层stop，然后就不会再有回调了，但是讯飞当前还是没有说完的半句话还是会说完
////        mAMapNavi.stopNavi();
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        mAMapNaviView.onDestroy();
//        //since 1.6.0 不再在naviview destroy的时候自动执行AMapNavi.stopNavi();
//        //请自行执行
//        mAMapNavi.stopNavi();
//        mAMapNavi.destroy();
////        mTtsManager.destroy();
//    }
//
//    @Override
//    public void onInitNaviFailure() {
//        Toast.makeText(this, "init navi Failed", Toast.LENGTH_SHORT).show();
//    }
//
//    @Override
//    public void onInitNaviSuccess() {
//        mAMapNavi.calculateDriveRoute(mStartList, mEndList, mWayPointList, PathPlanningStrategy.DRIVING_DEFAULT);
//    }
//
//    @Override
//    public void onStartNavi(int type) {
//
//    }
//
//    @Override
//    public void onTrafficStatusUpdate() {
//
//    }
//
//    @Override
//    public void onLocationChange(AMapNaviLocation location) {
//
//    }
//
//    @Override
//    public void onGetNavigationText(int type, String text) {
//
//    }
//
//    @Override
//    public void onEndEmulatorNavi() {
//    }
//
//    @Override
//    public void onArriveDestination() {
//    }
//
//    @Override
//    public void onCalculateRouteSuccess() {
//        mAMapNavi.startNavi(AMapNavi.EmulatorNaviMode);
//    }
//
//    @Override
//    public void onCalculateRouteFailure(int errorInfo) {
//    }
//
//    @Override
//    public void onReCalculateRouteForYaw() {
//
//    }
//
//    @Override
//    public void onReCalculateRouteForTrafficJam() {
//
//    }
//
//    @Override
//    public void onArrivedWayPoint(int wayID) {
//
//    }
//
//    @Override
//    public void onGpsOpenStatus(boolean enabled) {
//    }
//
//    @Override
//    public void onNaviSetting() {
//    }
//
//    @Override
//    public void onNaviMapMode(int isLock) {
//
//    }
//
//    @Override
//    public void onNaviCancel() {
//        finish();
//    }
//
//
//    @Override
//    public void onNaviTurnClick() {
//
//    }
//
//    @Override
//    public void onNextRoadClick() {
//
//    }
//
//
//    @Override
//    public void onScanViewButtonClick() {
//    }
//
//    @Deprecated
//    @Override
//    public void onNaviInfoUpdated(AMapNaviInfo naviInfo) {
//    }
//
//    @Override
//    public void onNaviInfoUpdate(NaviInfo naviinfo) {
//    }
//
//    @Override
//    public void OnUpdateTrafficFacility(TrafficFacilityInfo trafficFacilityInfo) {
//
//    }
//
//    @Override
//    public void OnUpdateTrafficFacility(AMapNaviTrafficFacilityInfo aMapNaviTrafficFacilityInfo) {
//
//    }
//
//    @Override
//    public void showCross(AMapNaviCross aMapNaviCross) {
//    }
//
//    @Override
//    public void hideCross() {
//    }
//
//    @Override
//    public void showLaneInfo(AMapLaneInfo[] laneInfos, byte[] laneBackgroundInfo, byte[] laneRecommendedInfo) {
//
//    }
//
//    @Override
//    public void hideLaneInfo() {
//
//    }
//
//    @Override
//    public void onCalculateMultipleRoutesSuccess(int[] ints) {
//
//    }
//
//
//    @Override
//    public void onLockMap(boolean isLock) {
//    }
//
//    @Override
//    public boolean onNaviBackClick() {
//        return false;
//    }
//	@Override
//	public void onNaviViewLoaded() {
//		// TODO Auto-generated method stub
//		
//	}
//	@Override
//	public void OnUpdateTrafficFacility(AMapNaviTrafficFacilityInfo[] arg0) {
//		// TODO Auto-generated method stub
//		
//	}
//	@Override
//	public void notifyParallelRoad(int arg0) {
//		// TODO Auto-generated method stub
//		
//	}
//	@Override
//	public void updateAimlessModeCongestionInfo(AimLessModeCongestionInfo arg0) {
//		// TODO Auto-generated method stub
//		
//	}
//	@Override
//	public void updateAimlessModeStatistics(AimLessModeStat arg0) {
//		// TODO Auto-generated method stub
//		
//	}
//
//}
